Well defined and working human to computer interaction is important in daily life. However, there exists a need to further develop the interaction mediums as technology advances. One of the alternative input methods that is becoming more commonly used for interaction with computer-controlled systems is eye tracking and eye gaze determination. Eye gaze determination may be used for controlling a machine, e.g. a computer, through user interaction with a graphical user interface presented on a display connected or coupled to the machine. This input technique may be used in for example gaming, augmented reality, home computing etc. The input technique is also advantageously used to compensate for human limitations, e.g. compensate for physical limitations leading to difficulties in operating common input devices such as a key board; a buttons interface; or a touch interface, or to prevent injuries caused by repetitive motions performed when operating such input devices.
A system for eye tracking typically consists of a display, one or more light emitting diodes (LEDs), e.g. emitting infrared light that may be invisible to the human eye and therefore does not disturb the user, and a camera directed towards the head or face of a user, the camera and LEDs often being placed in connection with the display. The one or more LED light beams are reflected in each of the user eyes and create small reflection, also referred to as glints, in the eyes of the user. The small reflections can be identified and tracked in an image captured by the camera, using image processing methods known in the art. Furthermore, the position and shape of the pupils may be calculated using image processing methods known in the art. Furthermore, iris and other eye features may be determined and calculated. For examples of eye tracking methods we refer to the documents cited in the section related art. In order to determine the distance between the eye of the user and the gaze position, or the position on the display onto which the user's eyes are directed, using methods known in the art, at least one camera and one LED, or at least two cameras and one LED are needed. The determined gaze position is used to determine how the user intends to look at and/or interact with the user interface presented on the display.
Some eye tracking systems require calibration to improve functionality with a specific user that is going to operate the machine. This calibration may comprise determining a model of the eye, comprising the optical and physical properties of the eyes, which needs to be determined because the optical and physical properties of an eye varies between people and also between the eyes of a person. Estimation of optical and physical properties is needed in order to enable correct eye gaze determination using images captured by the camera, in order to track the eye gaze efficiently.
One problem in eye tracking is that even if the user believes that he/she is looking straight at a position on the display, the eye ball may be performing micro movements, or micro saccades, known to a person skilled in the art. Furthermore, the eyes of the user may drift from the intended position, which introduces measurement noise in the captured images. Another problem is offset error remaining after calibration, thereby resulting in errors in eye tracking calculations. A further problem may arise when the user is wearing eye-glasses, as this increases the amount of measurement noise in the captured images and introduces other errors due to reflections, refractions and the like.
Determination of the gaze position is thereby complicated, leading to consecutively measured gaze positions being scattered and not precise enough to e.g. determine a correct gaze position or gaze representative area on the display. When there are multiple objects or areas upon a display at which a user may be gazing, given an eye tracking system where accuracy is not absolutely correct in 100% of cases, there exists a need to find means for determining at which element a user is gazing.
There is a need for an improved determination and/or analysis of the gaze position of a user interacting with a computer-controlled system using gaze-based functionality.